﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace DailyMail.Data.Models
{
    public class Account
    {
        [ScaffoldColumn(false)]
        [Required]
        public Guid AccountID { get; set; }

        [Required(ErrorMessage="{0} is Required.", AllowEmptyStrings=true)]
        [StringLength(50, MinimumLength=3, ErrorMessage="Min 3, Max 50 Characters")]
        [DisplayName("First Name")]
        public string FirstName { get; set; }
                
        [StringLength(50, MinimumLength = 3, ErrorMessage = "Min 3, Max 50 Characters")]
        [DisplayName("Middle Name")]
        public string MiddleName { get; set; }

        [Required(ErrorMessage = "{0} is Required.", AllowEmptyStrings = true)]
        [StringLength(50, MinimumLength = 3, ErrorMessage = "Min 3, Max 50 Characters")]
        [DisplayName("Last Name")]
        public string LastName { get; set; }

        [Required(ErrorMessage = "{0} is Required.", AllowEmptyStrings = true)]
        [DisplayName("Primary Email-ID")]
        public string PrimaryEmail { get; set; }                
        
        [DisplayName("Alternate Email-ID")]
        public string AlternateEmail { get; set; }
        
        [DisplayName("Telephone Number")]
        public string Telephone { get; set; }
        
        [DisplayName("Mobile Number")]
        public string Mobile { get; set; }

        [Required(ErrorMessage = "{0} is Required.", AllowEmptyStrings = true)]
        [StringLength(25, MinimumLength=5, ErrorMessage="Length ranges between 5 and 25")]
        [DisplayName("Username")]
        public string Username { get; set; }

        [Required(ErrorMessage = "{0} is Required.", AllowEmptyStrings = true)]
        [StringLength(25, MinimumLength = 5, ErrorMessage = "Length ranges between 5 and 25")]
        [DisplayName("Password")]
        public string Password { get; set; }
    }
}
